package Day10;

import java.util.ArrayList;
import java.util.Iterator;

/**
 * @Author kalista
 * @Description
 * @Date 2020/11/16  16:53
 **/
public class ListTest {
    public static void main(String[] args) {
        // 集合  2种实现ArrayList (底层数组实现)     LinkedList(底层链表)
        // ArrayList 就是数组队列。 数组
        // 泛型只能是引用数据类型
        ArrayList<String> objects = new ArrayList<>();
        // 1. 添加元素
        objects.add("王聪聪");
        objects.add("张亚其");
        objects.add("王佳俊");
        objects.add("薛雯雯");
        objects.add("刘颖");
        objects.add("张星宇");
        objects.add("苏震");
        objects.add("杜寅伟");

        // 2. 获取
//        System.out.println(objects.get(2));

        // 3. 遍历一 普通for
        for (int i = 0; i < objects.size(); i++) {
            System.out.println(objects.get(i));
        }

        // 遍历二 增强for

        // 第一个位置 泛型类型  第二个位置 变量名自己定义  第三个位置 ：   第四个位置  那个list
        for (String object : objects) {
            System.out.println(object);
            System.out.println(object.charAt(0));
            System.out.println(object.replaceAll("-","e"));
            System.out.println(object.substring(1));
        }

        System.out.println("=================");
        // 遍历三 迭代式
        // list 转 迭代
        Iterator<String> iterator = objects.iterator();

        //hasNext 判断 盘 里是否有东西 如果有 就为true 如果没有就为false
        while (iterator.hasNext()){
            // 拿出一个元素
            String next = iterator.next();

            System.out.println(next);
        }

    }
}
